1 REM ***** HK BRIDGE ***** 5 DV=PEEK(186):IFDV<8THENDV=8 40 SYS57812"F.BRIDGE",DV,0:POKE780,0:POKE781,0:POKE782,8:SYS65493 60 CLR:DV=PEEK(186):IFDV<8THENDV=8 100 REM ***** SET VARIABLES ***** 105 AD=49152:AG=4096:S=54272:POKE53272,19:PRINTCHR$(14):PRINTCHR$(8) 110 A$="":AT=0:B$="":BH$="":BD=0:BK=0:BL=0:C$="":CD%=0 115 CH=0:CS=0:CT=0:D=0:DF$="":DL$="":DR=0:DS=0 120 F%=0:FL%=0:FT%=1000:GT=0:GW=0:K=0 130 MS$="":NM$="":PC%=0 135 Q=0:Q$=CHR$(34):QF=0:RN%=0 140 SN%=0:P%=0:SZ=0:TV%=0 145 V=0:W$="":X=0:Y=0:Z=0:ZS=0:X$="" 150 DIMA$(24),GL$(99),L1%(48),L2%(48),MD$(2,20),SD$(8),SP$(5),ZL(5),PV$(3) 155 DIMST%(48),UB%(48),FL$(9),VT%(3,4),FM%(3),RA$(3),WN$(2),WE%(2),SL%(3) 156 DIMEV%(0),GL%(0),SE%(0),SD%(0),SP%(0),RT%(0),LO%(0),GC%(0),DS%(0),FU%(0) 157 DIMEL%(0),FC%(0),TS%(0),RA%(0) 160 DL%(1)=1:DL%(2)=12:DL%(3)=24:DL$(1)="[211][197][195][212][207][210] =":DL$(2)=":[199][210][201][196] = " 165 DL$(3)=":%[198][213][197][204] =":HD$(1)="[204]IVERPOOL":HD$(2)="[211]OUTHAMPTON": 170 HD$(3)="[199]IBRALTER":HD$(4)="[201]CELAND":HD$(5)="[200]ALIFAX" 175 SA%(1)=-1:SA%(2)=1:SA%(3)=-9:SA%(4)=9:SA%(5)=-10:SA%(6)=10:SA%(7)=-11 180 SA%(8)=11:FL$(1)=".AF":FL$(2)=".AD":FL$(3)=".CO":FL$(4)=".CA":FL$(5)=".CR" 185 FL$(6)=".LT":FL$(7)=".PO":FL$(8)=".OS":FL$(9)=".LD":KF$="[136][140][133][135][134]^_[138][139][137]*" 190 SD$(1)="[206]ORTH":SD$(2)="[206]-[197]":SD$(3)="[211]-[197]":SD$(4)="[211]OUTH":SD$(5)="[197]AST" 195 SD$(6)="[206]-[215]":SD$(7)="[211]-[215]":SD$(8)="[215]EST" 196 SP$(1)="5 [203]NOTS":SP$(2)="10 [203]NOTS":SP$(3)="15 [203]NOTS":SP$(4)="20 [203]NOTS" 200 SD$(0)="[211]TOP":SP$(0)="ZERO":RA$(1)=".EC":RA$(2)=".PA":RA$(3)=".ER" 205 VT%(1,4)=120:VT%(1,3)=180:VT%(1,2)=240:VT%(1,1)=300 210 VT%(2,4)=180:VT%(2,3)=240:VT%(2,2)=300:VT%(2,1)=360 215 VT%(3,4)=240:VT%(3,3)=300:VT%(3,2)=360:VT%(3,1)=420:FM%(1)=-10:FM%(2)=-20 220 WN$(1)="[196]EPTH [195]HARGES":WN$(2)="[200]EDGEHOG [204]OADS" 225 SL%(0)=0:SL%(1)=40:SL%(2)=30:SL%(3)=15 230 PV$(0)="":PV$(1)="3124^_":PV$(2)="3421^_":PV$(3)="1243^_" 800 REM ***** STARTUP ***** 805 PRINT"[147]":MS$="[207]RGANIZING [206]AVIGATION [205]APS.[144]":V=10:GOSUB5210 810 DF$="GAME":DR=DV:GOSUB5115:IFPR<>3THEN5515 815 OPEN3,DV,3,"L:"+DF$:INPUT#3,NM$,X$,A$:CLOSE3:RA%(0)=VAL(A$) 816 IFVAL(X$)>0THEN5520 817 GOSUB5740 820 GOSUB7705:IFQF<>1THENGOTO5515 825 DF$="NAVIGATION DATA":DR=DV:GOSUB5115:IFPR<>3THEN5505 830 OPEN3,DV,3,"L:"+DF$+",P,R" 835 FORX=0TO1:FORY=0TO20:INPUT#3,MD$(X,Y):NEXT:NEXT 840 FORX=0TO99:INPUT#3,GL$(X):NEXT:CLOSE3 1000 REM ***** BRIDGE ***** 1005 PRINT"[147]":BD=1:BK=1:CH=0:GOSUB5005 1010 ZS=2:GOSUB6105:MS$=MD$(0,0):GOSUB5208 1015 H=8:FORV=3TO17:MS$=MD$(0,V-2):GOSUB5070:NEXT 1020 H=3:V=6:MS$="[193]<-":GOSUB5070:H=22:V=2:MS$="[216] = [194]":GOSUB5070 1021 H=32:V=6:MS$="->[195]":GOSUB5070:V=10:MS$="->[196]":GOSUB5070 1022 V=16:MS$="->[197]":GOSUB5070 1023 H=1:V=19:MS$="[193] = [200]ALIFAX. [194] = [201]CELAND.":GOSUB5070 1024 V=20:MS$="[195] = [204]IVERPOOL. [196] = [211]OUTHAMPTON.":GOSUB5070 1025 V=21:MS$="[197] = [199]IBRALTER.":GOSUB5070 1030 GOSUB5225:SS=5:SS$="S":GOSUB5405 1032 GOSUB6955 1035 IFLO%(0)<>0THENWE%(1)=100:WE%(2)=100:FC%(0)=0:FU%(0)=100:RT%(0)=RT%(0)+1 1036 FORX=1TO7:ONXGOSUB1405,1406,1410,1415,1420,1425,1430:NEXT 1040 IFLO%(0)=0THENGOSUB1445:GOSUB1375:GOTO1060 1045 MS$="[217]OU ARE IN "+HD$(LO%(0))+" [200]ARBOUR.":GOSUB5208 1050 MS$="[193]NY KEY EXITS HARBOUR.":CS=4:Q=0:GOSUB5300:SP%(0)=1:GOSUB1185 1055 LO%(0)=0:FORX=0TO5:GOSUB1505:NEXT:GOSUB1445:GOSUB1375 1060 GOSUB1805:GOSUB5034:MS$="[195]HANGE [195]OURSE/[211]PEED? (C/S)":ZS=3 1100 CH$="CS":GOSUB6505:ONQFGOTO1105,1175,1100,1705,1100,3205,1170,1140,1035 1105 IFF%=2THEN1125 1110 GOSUB5034:MS$="[195][207][213][210][211][197]: 1 = [206]ORTH, 2 = [206]ORTHEAST,":GOSUB5209 1111 MS$="3 = [211]OUTHEAST, 4 = [211]OUTH, 5 = [197]AST,":GOSUB5206 1115 MS$="6 = [206]ORTHWEST, 7 = [211]OUTHWEST, 8 = [215]EST.":GOSUB5205 1120 CH$="12345678":GOSUB6510:SD%(0)=F%:GOSUB1415:GOSUB5034:GOTO1060 1125 GOSUB5034:MS$="[211][208][197][197][196](KNOTS): [193] = 5, [194] = 10,":GOSUB5206 1130 MS$="[195] = 15, [196] = 20.":GOSUB5205 1135 CH$="ABCD":GOSUB6510:SP%(0)=F%:IFDS%(0)<>0ANDSP%(0)>1THENSP%(0)=SP%(0)-1 1137 GOSUB1420:GOSUB5034:GOTO1060 1140 GOSUB5034:MN%=SP%(0):FR=0 1145 GOSUB1390:IFQF=4THENA%=0:GOTO1705 1146 GOSUB1505:ONSD%(0)GOSUB3005,3105,3135,3035,3065,3575,3595,3155 1150 GOSUB3525:A=QF/2:ONAGOTO1205,1705,3205,1035,1060 1155 GOSUB1450:MN%=MN%-1:GOSUB1235:IFMN%<1THEN1060 1160 GOTO1145 1170 GOSUB5034:GOSUB5380:GOTO5515 1175 GOSUB5034:GOSUB5380:GOTO5505 1185 ONLO%(0)GOTO1186,1187,1188,1189,1190 1186 SE%(0)=43:GL%(0)=19:SD%(0)=8:GOSUB1415:GOTO1420 1187 SE%(0)=45:GL%(0)=49:SD%(0)=8:GOSUB1415:GOTO1420 1188 SE%(0)=48:GL%(0)=89:SD%(0)=8:GOSUB1415:GOTO1420 1189 SE%(0)=28:GL%(0)=5:SD%(0)=4:GOSUB1415:GOTO1420 1190 SE%(0)=1:GL%(0)=40:SD%(0)=5:GOSUB1415:GOTO1420 1200 REM ***** LOST CONVOY ***** 1205 LV%=EV%(0)/2:EV%(0)=EV%(0)-LV%:GOSUB5034 1210 MS$="[217]OU LOOSE "+STR$(LV%)+" SHIPS DUE TO BAD":GOSUB5206 1215 MS$="WEATHER AND FAULTY NAVIGATION.":GOSUB5205 1220 MS$="[195]OMMAND STOPS TO REGROUP. [193]NY KEY.":CS=4:Q=0:V=24:GOSUB5305 1225 GOSUB5034:SD%(0)=0:SP%(0)=0:GOTO1035 1230 REM ***** SAILING PROBLEMS ***** 1235 E=1:IFST%(SE%(0))=1ANDUB%(SE%(0))=1THENE=3:B%=L1%(SE%(0)):D%=L2%(SE%(0)):GOTO1265 1240 IFST%(SE%(0))=1THENB%=L1%(SE%(0)):GOTO1265 1245 IFUB%(SE%(0))=1THEND%=L2%(SE%(0)):GOTO1270 1250 RETURN 1260 REM ***** PROBLEM FILTER/ACTION ***** 1265 C%=0:A%=B%:D=1:A=0:GOSUB1290:IFA=1THEN1275 1270 C%=0:A%=D%:D=2:A=0:GOSUB1290:IFA=1THEN1275 1272 GOSUB5043:RETURN 1275 GOSUB1305 1276 GOSUB6020:RN%=RND(0)*4+1:IFRN%<>C%THENONDGOSUB1355,1365 1280 IFE=3ANDD=1THEN1270 1281 GOSUB5034:RETURN 1290 IFGL%(0)=A%THENC%=2:A=1:RETURN 1291 FORX=1TO8:IFGL%(0)=(A%+SA%(X))THENC%=1:X=8:NEXT:A=1:RETURN 1292 FORX=1TO8:IFGL%(0)=(A%-SA%(X))THENC%=1:X=8:NEXT:A=1 1295 RETURN 1300 REM ***** WARNINGS/COURSE CHANGE ***** 1305 MS$="[217]OU ARE ENTERING A STORM.":CN=2 1310 IFD=2THENMS$="[217]OU ARE IN A [213]-BOAT AREA.":CN=4 1315 GOSUB2005:GOSUB5205:A%=RND(0)*8+1:IFA%=SD%(0)ORD=2THENRETURN 1320 A=1 1325 A%=RND(0)*8+1:B%=GL%(0)+SA%(A%) 1330 IFB%>9ANDB%<90THENGL%(0)=B%:GOSUB1465:GOTO1345 1335 A=A+1:IFA<5THEN1325 1340 RETURN 1345 MS$="[211]TORM PATH CAUSES COURSE CHANGE.":GOSUB5206:SD%(0)=A%:GOTO1415 1350 REM ***** LOSSES ***** 1355 CN=2:GOSUB2005:RN%=RND(9)*2+1:IFRN%=2THEN1358 1356 MS$="[211]TORM DAMAGE TO "+STR$(C%)+" VESSEL(S).":IFSP%(0)>1THENSP%(0)=SP%(0)-1 1357 DS%(0)=DS%(0)+C%:GOTO1360 1358 MS$="[211]TORM SINKS"+STR$(C%)+" VESSEL(S).":EV%(0)=EV%(0)-C% 1360 GOSUB5206:GOSUB1410:GOSUB1420:GOSUB1425 1361 GOSUB6020:GOSUB5034:IFE=3THEN1270 1362 RETURN 1365 FORF=1TOC%:CN=3:GOSUB2005:NEXTF 1366 MS$="[213]BOATS SINK "+STR$(C%)+" CHASER(S).":EV%(0)=EV%(0)-C%:GOSUB5206 1367 GOSUB1410:GOSUB6020:GOTO5034 1370 REM ***** HQ ALERT ***** 1375 MS$="[198]8 = [200][209] OBSTACLE REPORTS.":V=18:GOTO5210 1380 REM ***** FUEL CONSUMPTION ***** 1385 MF%=Z*(4-RA%(0)):GOTO1394 1390 MF%=SP%(0) 1394 QF=1:FC%(0)=FC%(0)+MF%:FU%(0)=(1000-FC%(0))*100/1000 1395 IFFU%(0)<1THENFU%(0)=0:QF=4 1396 Q=0:A%=0:GOTO1475 1400 REM ***** PRINT STATUS DATA ***** 1405 A$=STR$(WE%(1)):V=6:GOTO1435 1406 A$=STR$(WE%(2)):V=7:GOTO1435 1410 A$=STR$(EV%(0)):V=8:GOTO1435 1415 A$=SD$(SD%(0)):V=9:GOTO1435 1420 A$=SP$(SP%(0)):V=10:GOTO1435 1425 A$=STR$(DS%(0)):V=11:GOTO1435 1430 A$=STR$(US%(0)):V=12 1435 H=31:MS$=" ":GOSUB5070:MS$=A$:GOTO5070 1440 REM ***** PRINT STATUS LINE ***** 1445 GOSUB5040:FORX=1TO3:H=DL%(X):MS$=DL$(X):GOSUB5070:NEXT 1450 A%=1:Q=8 1455 ONA%GOTO1460,1465,1475 1460 H=9:E$=" ":A$=STR$(SE%(0)):GOTO1480 1465 H=20:E$=" ":A$=GL$(GL%(0)):GOTO1480 1475 H=32:E$=" ":A$=STR$(FU%(0)):GOTO1480 1480 V=0:MS$=E$:GOSUB5070:MS$=A$:GOSUB5070:IFQ<>8THENRETURN 1485 A%=A%+1:IFA%<4THEN1455 1490 Q=0:A%=0:RETURN 1500 REM ***** SET/UNSET PROBLEM LOCATIONS ***** 1505 PL%=4-RA%(0):SS=0:MS$="[210]EVIEWING SITUATION - BE PATIENT.":GOSUB5205 1510 A%=RA%(0):OT=OT+1:IFOT>3THENOT=1 1511 RN%=RND(0)*48+1 1512 ONOTGOTO1515,1520,1525 1515 ST%(RN%)=0:L1%(RN%)=0:A%=A%-1:IFA%=0THEN1530 1516 GOTO1511 1520 UB%(RN%)=0:L2%(RN%)=0:A%=A%-1:IFA%=0THEN1530 1521 GOTO1511 1525 DS%(0)=DS%(0)-RA%(0):IFDS%(0)=<0THENDS%(0)=0 1526 GOSUB1425 1530 PA%=PA%+1:IFPA%=3THENPA%=1 1535 QF=1:SN%=RND(0)*48+1:IFSN%<7ORSN%=SE%(0)THEN1535 1540 IFPA%=1THEN1550 1545 ST%(SN%)=1:GOTO1555 1550 UB%(SN%)=1 1555 RN%=RND(0)*88+1:FORX=1TO8:IFRN%>X*10ANDRN%CHR$(57)THENA=2 1613 NEXT:IFA=2THEN1610 1614 SG%=VAL(W$):IFSG%<0ORSG%>99THEN1610 1615 GOSUB1780 1620 GOSUB5034:GOSUB6185:MS$="[211]ELECT [200][213][206][212] PATTERN (1 TO 4), ^ OR _.":GOSUB5205 1621 SYSAD+48,PV$(RA%(0)) 1622 GOSUB5034:IFF%=6THEN1609 1623 IFF%=5THENGOSUB1905:GOTO1620 1624 CN=1:GOSUB2005:MS$="[200]UNTING":GOSUB5206 1625 Z=0:GOSUB3605 1626 IFUB%(SE%(0))=0THENGOSUB5042:GOSUB1390:ONQFGOTO1695,1695,1695,1675 1630 IFL2%(SE%(0))=SG%THENZ=3:GOTO1635 1631 A%=SG%+HF%+AE%+1:B%=SG%-HF%-AE%-1 1632 FORX=SG%TOA%:IFL2%(SE%(0))=XTHENGL%(0)=X:X=A%:Z=2:GOTO1634 1633 NEXT:FORX=B%TOSG%:IFL2%(SE%(0))=XTHENGL%(0)=X:X=SG%:Z=2 1634 NEXT:IFZ=0THENGOSUB5042:GOSUB1390:ONQFGOTO1695,1695,1695,1675 1635 GOSUB1385:IFQF=4THEN1675 1636 FORX=1TOAE%:A%=RND(0)*25+1:IFA%<>GL%(0)/4THEN1638 1637 GOSUB1690:IFQF=4THENX=AE% 1638 NEXT:IFQF=4THEN1675 1640 L2%(SE%(0))=0:UB%(SE%(0))=0:PA%=1:SS=1:PL%=0:GOSUB1555 1641 GOSUB5034:CN=4:GOSUB2005:MS$="[195][207][206][212][193][195][212]!":V=21:GOSUB5210 1645 MS$="[211]ELECT ATTACK WEAPON.":GOSUB5206 1646 MS$="[193] = [196]EPTH CHARGE. [194] = [200]EDGEHOG.":GOSUB5205 1647 SYSAD+48,"AB" 1649 GOSUB5034:WC%=F%:GOSUB1985:IFQF>1THENONQF-1GOTO1645,1675 1650 IFWC%=1THENGOSUB1685 1651 A%=RND(0)*2+1:IFA%<>WC%ANDWC%=2THENFORX=1TORA%(0):GOSUB1995:NEXT 1652 IFA%<>WC%THENZ=0:GOTO1665 1654 IFWC%=1THEN1657 1655 GOSUB1685 1657 MS$="[217]OUR GROUP SINKS"+STR$(Z)+" [213]BOATS.":GOSUB5205:GOSUB6010:GOSUB5034 1658 IFSE%(0)=>0ANDSE%(0)<28THENUS%(2)=US%(2)+Z:GOTO1660 1659 US%(1)=US%(1)+Z 1660 US%(0)=US%(1)+US%(2):IFUS%(0)0THEN1693 1692 EV%(0)=0:MS$="[204]AST VESSEL. [211]TART SWIMMING.":QF=4 1693 GOSUB5205:GOSUB6010:GOTO5043 1695 MS$="[206]O [213]BOAT FOUND. [193]NY KEY.":CS=4:GOSUB5300:GOSUB5042:GOTO1670 1700 REM ***** GAME FAIL ***** 1705 PRINT"[147]":BD=2:BK=1:CH=0:GOSUB5005 1710 MS$="[217][207][213] [194][204][197][215] [201][212]![144]":V=1:GOSUB5210 1715 MS$="[217]OU RAN OUT OF FUEL." 1720 IFA%=4THENMS$="[217]OU RAN YOUR COMMAND AGROUND." 1725 V=10:GOSUB5210 1730 MS$="[196]O YOU WISH TO [210]EDO, RE[211]TART, OR":V=15:GOSUB5210 1735 MS$="[209]UIT? (R/S/Q)" 1740 CH$="RSQ":SP%(0)=0:GOSUB6510:IFF%=3THENGOSUB5220:ONQFGOTO1740,5505 1745 IFF%=2THEN5515 1750 GOSUB7705:ONQFGOTO1032,5515 1760 REM ***** ATTACK DISPLAY ***** 1765 H=1:FORV=4TO13:MS$=MD$(1,V-1):GOSUB5070:NEXT:RETURN 1770 A$(1)="([199]RID [204]ETTER: [193] = 0,":A$(2)="[202] = 9. [204]OCATION = [210]OW" 1775 A$(3)="[206]UMBER-1, TIMES 10,":A$(4)="PLUS [204]ETTER VALUE.)" 1776 A$(5)="[205]IN 2 DIGITS. EG:8=08":GOTO1790 1780 A$(1)="[200][213][206][212] [208][193][212][212][197][210][206][211]":A$(2)="1. [194]OX" 1785 A$(3)="2. [196]IAMOND":A$(4)="3. [198]LYING [211]QUAD":A$(5)="4. [214]EE" 1790 D$=" ":H=16:FORV=5TO9:MS$=D$:GOSUB5070 1795 MS$=A$(V-4):GOSUB5070:NEXT:RETURN 1800 REM ***** COLLECT GARBAGE ***** 1805 QF=1:IFPEEK(52)>PEEK(50)+2THENRETURN 1810 QF=2:MS$="[206]UMBER [207]NE RE-EVALUATING TOUR DATA.":V=18:GOSUB5210 1815 SYS45949 1816 GOTO1375 1820 REM ***** ATTACK SCREEN ***** 1825 PRINT"[147]":SYSAD+3,0,39,1,1,160,0 1830 SYSAD+3,0,39,20,20,160,0 1835 RETURN 1900 REM ***** HQ REPORT ***** 1905 MS$="[208]ATIENCE - ORGANIZING DATA.":V=18:GOSUB5210:GOSUB5086 1910 B%=3:SS=7:FORX=3TO6:A$="":NEXT 1911 A%=0:A$(B%)="":FORX=SSTO48:IFST%(X)=0THEN1925 1915 A$(B%)=A$(B%)+STR$(X):A%=A%+1:IFX=48THEN1925 1920 IFA%=12THENSS=X:B%=B%+1:X=48:NEXT:GOTO1911 1925 NEXT:B%=9:SS=7:FORX=9TO12:A$="":NEXT 1930 A%=0:A$(B%)="":FORX=SSTO48:IFUB%(X)=0THEN1945 1935 A$(B%)=A$(B%)+STR$(X):A%=A%+1:IFX=48THEN1945 1940 IFA%=12THENSS=X:B%=B%+1:X=48:NEXT:GOTO1930 1945 NEXT:A$(0)="[200][197][193][196][209][213][193][210][212][197][210]'[211] [210][197][208][207][210][212]":A$(2)="[211][212][207][210][205] [211]ECTORS:-" 1950 A$(8)="[213][194][207][193][212] [211]ECTORS:-" 1955 V=18:GOSUB5045:SS=7:SS$="S":GOSUB5405:PRINT"[147]" 1960 MS$=A$(0):GOSUB5208:H=1:V=2:MS$=A$(2):GOSUB5070 1965 FORV=3TO6:MS$=A$(V):GOSUB5070:NEXT:V=8:MS$=A$(8):GOSUB5070 1970 FORV=9TO12:MS$=A$(V):GOSUB5070:NEXT:GOSUB5225 1975 PRINT"[147]":SS=7:SS$="R":GOSUB5405:RETURN 1980 REM ***** WEAPONS CHECK ***** 1985 QF=1:IFWE%(1)<>0ORWE%(2)<>0THEN1987 1986 MS$="[206]O AVAILABLE WEAPONS. [193]NY KEY.":CS=4:GOSUB5300:QF=3:RETURN 1987 IFZ=5THENRETURN 1988 IFWE%(WC%)>0THENRETURN 1989 MS$="[207]UT OF "+WN$(WC%)+". [193]NY KEY.":CS=4:Q=0:GOSUB5300:QF=2:RETURN 1990 REM ***** WEAPON USE ***** 1995 WE%(WC%)=WE%(WC%)-RA%(0):IFWE%(WC%)<1THENWE%(WC%)=0 1996 RETURN 2000 REM ***** SOUND S/R ***** 2005 ONCNGOSUB2025,2045,2065,2085,2115 2010 FORX=0TO24:POKES+X,0:NEXT:RETURN 2020 **** ATTACK **** 2025 FORX=1TO5:FORY=70TO100STEP5:POKES+1,Y:POKES+5,15:POKES+6,10:POKES+24,15 2030 POKES+4,17:FORZ=0TO5:NEXT:NEXT:NEXT:POKES+4,16:RETURN 2040 **** STORM **** 2045 POKES+24,15:POKES+5,12:POKES+6,240:POKES+1,96:POKES,0:POKES+4,129 2050 FORX=0TO5000:NEXT:POKES+4,128:RETURN 2060 **** TORPEDO STRIKE **** 2065 POKES+5,17:POKES+6,240:POKES+1,1:FORX=2TO12STEP.25:POKES+4,129 2070 POKES+24,X/2+9:POKES+1,X:NEXT:FORY=0TO250:NEXT:POKES+4,128:RETURN 2080 **** UBOAT WARNING **** 2085 POKES+24,15:POKES+5,0:POKES+6,240:POKES+1,150:POKES,0:POKES+4,17 2090 POKES+5+7,0:POKES+6+7,240:POKES+1+7,75:POKES+7,0:POKES+4+7,33 2095 FORA=1TO6:FORB=150TO70STEP-8:POKES+1,B:POKES+1+3+4,B*1.5:POKES+0,0:NEXT 2100 FORB=70TO150STEP6:POKES+1,B:POKES+1+3+4,B*1.3:POKES+0,0:NEXT:NEXT 2105 POKES+11,0:POKES+4,16:RETURN 2110 **** UBOAT KILL **** 2115 POKES+5,17:POKES+6,112:POKES+4,17:FORX=15TO1STEP-.2:POKES+24,X 2120 POKES+1,X*10:NEXT:POKES+4,16:POKES+24,15:POKES+4,129:FORX=15TO1STEP-.4 2125 POKES+24,X:POKES+1,INT(RND(1)*3+X):NEXT:POKES+4,128:RETURN 3000 REM ***** NORTH ***** 3005 QF=1:NS%=SE%(0):NL%=GL%(0)-10 3010 IFNL%<0THENNL%=NL%+100:NS%=SE%(0)-1:GOSUB3475:IFQF=8THENRETURN 3015 GL%(0)=NL%:IFNS%<>SE%(0)THENSE%(0)=NS% 3020 FM%(0)=1:GOTO1385 3030 REM ***** SOUTH ***** 3035 QF=1:NS%=SE%(0):NL%=GL%(0)+10 3040 IFNL%>99THENNL%=NL%-100:NS%=SE%(0)+1:GOSUB3505 3045 GL%(0)=NL%:IFNS%<>SE%(0)THENSE%(0)=NS% 3050 FM%(0)=1:GOTO1385 3060 REM ***** EAST ***** 3065 QF=1:NS%=SE%(0):NL%=GL%(0)+1:A%=GL%(0)/10:B%=A%*10 3070 IFNL%>B%+9THENNL%=B%:GOTO3080 3075 FM%(0)=1:GL%(0)=NL%:GOTO1385 3080 NS%=SE%(0)+7:IFNS%>41THENGOSUB3435:IFQF<>1THENRETURN 3085 FM%(0)=1:GL%(0)=NL%:SE%(0)=NS%:GOTO1385 3100 REM ***** NORTHEAST ***** 3105 GOSUB3065:IFQF<>2THENRETURN 3110 GOTO3005 3130 REM ***** SOUTH EAST ***** 3135 GOSUB3035:IFQF=2THENRETURN 3140 GOTO3065 3150 REM ***** WEST ***** 3155 QF=1:NS%=SE%(0):IFGL%(0)=0THENNL%=9:GOTO3170 3156 NL%=GL%(0)-1:IFNL%=0THEN3165 3157 A%=GL%(0)/10:B%=A%*10 3160 IFNL%=B%-1THEN3170 3165 FM%(0)=1:GL%(0)=NL%:GOTO1385 3170 NS%=NS%-7:IFNS%<7THENGOSUB3405:IFQF<>1THENRETURN 3175 FM%(0)=1:GL%(0)=NL%+10:SE%(0)=NS%:GOTO1385 3200 REM ***** GAME END ***** 3205 A$(1)="[217]OU ARRIVE SAFELY AT "+HD$(1) 3210 A$(2)="":IFEV%(0)<5THENA$(2)="[194]ETTER THAN MOST OF YOUR COMMAND." 3215 IFEV%(0)=5THENA$(2)="[194]ETTER THAN HALF OF YOUR COMMAND." 3220 A$(3)="[217]OU MAKE PORT WITH"+STR$(EV%(0))+" CHASERS," 3225 A$(4)="AFTER SINKING A TOTAL OF"+STR$(US%(0))+" [213]BOATS." 3230 A$(6)="[215]ELL LET US SEE HOW THE [193]DMIRALTY" 3235 A$(7)="AND [203][200][193][198] VIEW YOUR PERFORMANCE." 3240 A$(8)="[193]NY KEY TAKES YOU TO THE REVIEW BOARD." 3245 GOSUB3305:PRINT"[147]":BD=1:BK=1:CH=0:GOSUB5005 3250 H=1:FORV=8TO9:MS$=A$(V-7):GOSUB5070:NEXT:GOSUB6015 3255 FORV=11TO12:MS$=A$(V-8):GOSUB5070:NEXT:GOSUB6015 3260 FORV=15TO17:MS$=A$(V-9):GOSUB5070:NEXT 3265 A$="":GETA$:IFA$=""THEN3265 3270 GOSUB5033:GOSUB7805:GOTO5515 3300 REM ***** SCORING ***** 3305 EL%(0)=9:IFEV%(0)>1THENEL%(0)=11-EV%(0) 3310 ONRA%(0)GOTO3315,3320,3325 3315 A%=(US%(1)*500)+(US%(2)*775)+(FU%(0)*10):GOTO3330 3320 A%=(US%(1)*750)+(US%(2)*1000)+(FU%(0)*10):GOTO3330 3325 A%=(US%(1)*1200)+(US%(2)*2000)+(FU%(0)*10) 3330 RT%(0)=RT%(0)/(10*EV%(0)):IFRT%(0)<1THENRT%(0)=1 3335 TS%(0)=A%-(A%*RT%(0)/100):IFTS%(0)<1THENTS%(0)=1 3340 RETURN 3400 REM ***** WEST FILTER ***** 3405 QF=1:A%=0:IFNS%=1ORNS%=28THENRETURN 3410 IFNS%=-6THENSE%(0)=1:LO%(0)=5:QF=8:RETURN 3415 IFNS%<0THENSE%(0)=0:A%=4:QF=4:RETURN 3420 GOSUB5034:MS$="[212]OO FAR [215]EST RUNS AGROUND.":GOSUB5206:GOSUB5225:GOTO5034 3430 REM ***** EAST FILTER ***** 3435 QF=1:A%=0:IFNS%=43ORNS%=45ORNS%=48ORNS%=28THENRETURN 3440 IFNS%<48THENRETURN 3445 SE%(0)=NS%-7:IFNS%<>50ANDNS%<>52ANDNS%<>55THENA%=4:QF=4:RETURN 3450 IFNS%=50THENSE%(0)=43:LO%(0)=1:QF=8:RETURN 3455 IFNS%=52THENSE%(0)=45:LO%(0)=2:QF=8:RETURN 3460 SE%(0)=48:LO%(0)=3:QF=8:RETURN 3470 REM ***** NORTH FILTER ***** 3475 QF=1:IFNS%=27THENSE%(0)=NS%+1:LO%(0)=4:GL%(0)=4:QF=8:RETURN 3480 IFNS%=28THENRETURN 3485 IFNS%>0-1ANDNS%<>6ANDNS%<>13ANDNS%<>34ANDNS%<>41THENRETURN 3490 SE%(0)=NS%+1:GL%(0)=5:GOTO1205 3500 REM ***** SOUTH FILTER ***** 3505 IFNS%=7ORNS%=14ORNS%=21ORNS%=28ORNS%=35ORNS%=42ORNS%=49THEN3515 3510 QF=1:RETURN 3515 SE%(0)=NS%-1:GL%(0)=95:GOTO1205 3520 REM ***** REFUEL INQUIRY ***** 3525 A=0:IFFU%(0)>40ORFR=1ORQF>1THENRETURN 3526 IFNS%=1THENA=5:GOTO3555 3530 IFNS%=28THENA=4:GOTO3555 3535 IFNS%=48THENA=3:GOTO3555 3540 IFNS%=45THENA=2:GOTO3555 3545 IFNS%=43THENA=1:GOTO3555 3550 IFA=0THENRETURN 3555 SE%(0)=NS%:GOSUB1460:FR=1 3560 MS$="[210]EFUEL IN "+HD$(A)+" ?(Y/N)":CS=1:Q=0:GOSUB5300 3565 IFQF=2THENLO%(0)=A:QF=8:RETURN 3566 RETURN 3570 REM ***** SOUTHEAST ***** 3575 GOSUB3150:IFQF<>1THENRETURN 3580 GOTO3005 3590 REM ***** SOUTHWEST ***** 3595 GOSUB3150:IFQF<>1THENRETURN 3596 GOTO3035 3600 REM ***** ODDS CALCULATION ***** 3605 QF=1:HF%=5:IFSE%(0)=>0ANDSE%(0)<3THENHF%=1 3610 IFSE%(0)>6ANDSE%(0)<10THENHF%=1 3615 IFSE%(0)>13ANDSE%(0)<17THENHF%=1 3620 IFSE%(0)>3ANDSE%(0)<7THENHF%=2 3625 IFSE%(0)>10ANDSE%(0)<14THENHF%=2 3630 IFSE%(0)>17ANDSE%(0)<21THENHF%=2 3635 IFSE%(0)>27ANDSE%(0)<31THENHF%=3 3640 IFSE%(0)>34ANDSE%(0)<38THENHF%=3 3645 IFSE%(0)>41ANDSE%(0)<45THENHF%=3 3650 IFSE%(0)>31ANDSE%(0)<35THENHF%=4 3655 IFSE%(0)>38ANDSE%(0)<42THENHF%=4 3660 IFSE%(0)>45ANDSE%(0)=<48THENHF%=4 3665 IFHF%=F%THENHF%=5 3670 AE%=EV%(0)/2:RETURN 5000 REM ***** COLOUR SETUP ***** 5005 POKE53280,BD:POKE53281,BK:POKE646,CH:RETURN 5010 REM ***** CURSOR LOCATE ***** 5015 POKE211,H:POKE214,V:SYS58732 5020 RETURN 5025 REM ***** DELETE LINE(S) ***** 5030 TL=0:BL=24:GOTO5035 :REM * SCREEN 5031 TL=2:BL=6:GOTO5035 :REM * WINDOW1 5032 V=8:GOTO5035 :REM * WINDOW2 5033 TL=17:BL=19:GOTO5035:REM * WINDOW3 5034 TL=21:BL=24:GOTO5035:REM * WINDOW4 5035 FORV=TLTOBL:GOSUB5045:NEXT:RETURN 5036 GOSUB5031:GOSUB5032:GOSUB5033:GOTO5034:REM * WINDOWS 1 TO 4 5037 GOSUB5032:GOSUB5033:GOTO5034:REM * WINDOWS 2 TO 4 5038 GOSUB5033:GOTO5034 :REM * WINDOWS 3 & 4 5039 GOSUB5031:GOTO5032 :REM * WINDOWS 1 & 2 5040 V=0:GOTO5045 :REM * LINE0 5042 V=22:GOTO5045 :REM * LINE22 5043 V=23:GOTO5045 :REM * LINE23 5044 V=24:GOTO5045 :REM * LINE24 5045 POKE781,V:SYS59903 5046 RETURN 5050 TL=12:BL=19:GOTO5035 5055 TL=14:BL=24:GOTO5035 5060 REM ***** PRINT DATA/AT ***** 5065 FORV=TLTOBL:MS$=A$(V):GOSUB5070:NEXT:RETURN 5070 SYSAD+15,H,V,MS$ 5075 RETURN 5080 REM ***** DELETE DATA ***** 5085 FORX=TLTOBL:A$(X)="":NEXT:RETURN 5086 TL=1:BL=22:GOTO5085 5100 REM ***** CHECK DISK ***** 5105 D=1:GOTO5120 :REM - LOAD 5110 D=2:GOTO5120 :REM - SAVE 5115 D=3 :REM - CHECK 5120 GOSUB5258:OPEN15,DR,15,"R:"+DF$+"="+DF$:INPUT#15,ER,A$,A,A:CLOSE15 5130 GOSUB5043:IFER=62THENONDGOTO5145,5145,5170 5135 IFER=63THENONDGOTO5175,5150,5175 5140 IFD=3THEN5180 5145 MS$="":GOSUB5300:ONQFGOTO5120,5180,5180 5150 MS$="":GOSUB5300:ONQFGOTO5160,5180,5180 5160 GOSUB5735:ONQFGOTO5135,5180 5165 PR=1:RETURN 5170 PR=2:RETURN 5175 PR=3:RETURN 5180 PR=4:RETURN 5200 REM ***** CENTRE PRINT ***** 5205 V=23:GOTO5210 5206 V=22:GOTO5210 5207 V=24:GOTO5210 5208 V=0:GOTO5210 5209 V=21 5210 GOSUB5045 5211 GOSUB5370:RETURN 5215 MS$="[205]ENU? (Y/N)":CS=1:Q=0:GOTO5300READY. 5220 SZ=ZS:MS$="[193]RE YOU SURE YOU WANT TO QUIT?(Y/N)":CS=5:Q=0:GOTO5300 5222 SZ=ZS:MS$="[196]ATA UNAVAILABLE. [193]NY KEY.":CS=4:Q=0:GOTO5300 5225 SZ=ZS:MS$="[193]NY KEY WHEN READY.":CS=4:Q=0:GOTO5300 5230 RETURN 5235 MS$="[195]HANGE DISK NOW. [193]NY KEY.":CS=4:Q=0:GOTO5300 5240 SZ=ZS:MS$="[198]UNCTION/FILE NOT AVAILABLE. [193]NY KEY.":CS=4:ZS=4:Q=8:GOTO5300 5245 GOTO5380 5250 SZ=ZS:MS$="[195]ONTINUE?(Y/N)":CS=2:Q=0:GOTO5300 5255 SZ=ZS:MS$="[193]RE YOU [210][197][193][204][204][217] SURE?(Y/N)":CS=2:Q=0:GOTO5300 5258 MS$="[195][193][213][212][201][207][206] - DRIVE ACTIVITY":Q=0:GOTO5205 5260 SZ=ZS:Q=0:IFER=26THENMS$="[215]RITE PROTECT ON! [210]EMOVED?(Y/N)":CS=2:GOTO5370 5280 IFER=62THENMS$="[198]ILE NOT FOUND. [206]EW DISK?(Y/N)":CS=5:GOTO5370 5285 IFER=63THENMS$="[198]ILE EXISTS. [210]EPLACE?(Y/N)":CS=2:GOTO5370 5290 IFER=74THENMS$="[196]RIVE UNREADY. [195]ORRECTED?(Y/N)":CS=2:GOTO5370 5295 MS$="[205]AJOR DRIVE/DISK ERROR. [193]NY KEY.":CS=4:QF=3:GOTO5370 5300 GOSUB5043:ZZ=V:B$=MS$:GOTO5306 5305 ZZ=V:B$=MS$:GOSUB5045 5306 IFQ=8THENGOSUB5044:GOSUB6165 5307 V=ZZ:MS$=B$:GOSUB5365 5310 POKE198,0:WAIT198,15:GETA$ 5315 SYSAD+24,A$ 5320 GOSUB5044:IFA$="^"ANDQ=8THENGOSUB6105:GOTO5306 5321 Q=0:IFA$="^"THENGOSUB6985:GOTO5306 5325 ZS=SZ:IFCS=4THENA$="":V=ZZ:GOTO5045 5330 IFCS=3THENV=ZZ:GOTO5045 5335 QF=1:IFA$<>"Y"ANDA$<>"N"THENGOSUB6985:GOTO5306 5345 IFCS=5ANDA$="Y"THENQF=2 5350 IFCS=2ANDA$="N"THENQF=2 5355 IFCS=1ANDA$="Y"THENQF=2 5360 A$="":V=ZZ:GOTO5045 5365 IFMS$=""THEN5260 5370 SYSAD+18,V,MS$ 5375 RETURN 5380 MS$="[211]AVE GAME TO DATE? (Y/N)":GOSUB5205 5385 A$="":GETA$:IFA$<>"Y"ANDA$<>"N"THEN5385 5390 IFA$="Y"THENGOSUB7805 5395 A$="":QF=2:GOTO5045 5400 REM ***** SCREEN STASH ***** 5405 ONSSGOTO5410,5415,5420,5425,5430,5435,5440 5410 SP=160:GOTO5450 :REM - HELP/HARBOUR 5415 SP=232:GOTO5450 :REM - HOTKEYS 5420 SP=174:GOTO5450 :REM - HELP/BRIDGE 5425 SP=16:GOTO5450 :REM - HELP LOAD 5430 SP=208:GOTO5450 :REM - SECTOR MAP 5435 SP=216:GOTO5450 :REM - TEMP 1 5440 SP=224:GOTO5450 :REM - TEMP 2 5445 SP=168 :REM - TEMP 3 5450 M=6:IFSS$="R"THENM=9 5455 SYSAD+M,SP 5460 RETURN 5500 REM ***** MODULE LOAD ***** 5503 IFDR=25THENPOKE186,DV:Q=64:GOTO5530 5505 OPEN2,DR,2:CLOSE2:IFST<>0THENDR=DR+1:GOTO5503 5510 QF=1:DF$="HELLO CONNECT":DH$="[204][207][193][196][211][212][193][210]" 5511 GOSUB5115:IFPR=3THEN5530 5512 DR=DR+1:GOTO5503 5515 X$=STR$(GC%(0)) 5520 QF=1:DF$="HK3 HARBOUR":DH$="[200][197][193][196][209][213][193][210][212][197][210][211]" 5521 DR=DV:GOSUB5115:IFPR<>3THENQ=64:GOTO5530 5525 DL$=DF$:GOTO5565 5530 PRINT"[147]":BD=0:BK=0:CH=1:GOSUB5005:IFQ=64THEN5546 5535 MS$="[200]EADING FOR "+DH$:GOSUB5209:POKE646,0 5540 PRINT"[144]LOAD"Q$DF$Q$","DV 5545 PRINT"RUN":IFDF$<>"HELLO CONNECT"THEN5548 5546 POKE44,8:POKE2048,0:POKE53272,23:PRINTCHR$(9) 5547 IFQ=64THENPRINT"[147]":POKE646,1:PRINTCHR$(9):NEW 5548 PRINT"":POKE631,13:POKE632,13:POKE633,13:POKE198,3:END 5555 DF%=1:DF$="GAME":DR=DV:GOSUB5115:IFPR=1ORPR=4THEN5575 5560 IFPR=3THENGOSUB5740:IFQF=2THEN5575 5565 GOSUB5258:OPEN3,DV,3,"L:"+DF$+",S,W":PRINT#3,NM$:PRINT#3,X$ 5570 PRINT#3,STR$(RA%(0)):CLOSE3:GOSUB5043:GOTO5580 5575 MS$="[198]ILE (AC.GAME)/DISK PROBLEM. [193]NY.":CS=4:GOSUB5300:GOSUB5740 5580 DF$=DL$:GOTO5530 5595 MS$="[198]ILE (TEMP GAME)/DISK PROBLEM. [193]NY.":CS=4:GOSUB5300 5596 GOSUB5740:DF$=DL$:GOTO5530 5600 REM ***** BLOAD ***** 5605 DF$="H.HK"+STR$(ZS):GW=0:GOTO5635 5610 DF$="GETWORD 1000":IFGW=1THENRETURN 5635 GOSUB5258:SYSAD+51,DF$,DV,4096 5640 IFDF$="GETWORD 1000"THENGW=1 5645 GOSUB5043:RETURN 5700 REM ***** DATA ENTRY ***** 5705 CH=0 5706 SYSAG,CH,5,LL :REM - ALPHA 5710 RETURN 5715 CH=0 5716 SYSAG+3,CH,7,LL :REM - NUMERIC 5720 RETURN 5730 REM ***** SCRATCH FILE ***** 5735 IFQ=1THENQ=0:GOTO5740 5736 QF=1:MS$="[193]RE YOU SURE YOU WANT TO DELETE?(Y/N)":CS=2:GOSUB5300 5737 IFQF=2THENRETURN 5740 GOSUB5258:OPEN15,DV,15,"S:"+DF$:INPUT#15,ER,A$,A,A:CLOSE15:GOSUB5043 5745 IFER=62ORER<20THENQF=1:PR=2:RETURN 5750 QF=2:RETURN 6000 REM ***** TIMER ***** 6005 X=60:GOTO6085 6010 X=90:GOTO6085 6015 X=120:GOTO6085 6020 X=180:GOTO6085 6025 X=210:GOTO6085 6030 X=240:GOTO6085 6035 X=270:GOTO6085 6040 X=300:GOTO6085 6045 X=330:GOTO6085 6050 X=360:GOTO6085 6055 X=390:GOTO6085 6060 X=420:GOTO6085 6065 X=480:GOTO6085 6070 X=510:GOTO6085 6075 X=540:GOTO6085 6080 X=600 6085 TI$="000000" 6090 IFTI3THENZ=ZS-3:GOTO6118 6110 IFZL(ZS)=1THENSS=ZS:SS$="R":GOSUB5405:GOTO6120 6115 GOSUB5605:SS=4:SS$="R":GOSUB5405:ZL(ZS)=1:SS=ZS:SS$="S":GOSUB5405 6116 GOSUB5610:GOTO6120 6118 ONZGOSUB6130 6120 GOSUB5225:PRINT"[147]":SS=6:SS$="R":GOSUB5405:RETURN 6125 MS$="[198]UNCTION CANNOT BE USED WITH AVAILABLE":V=10:GOSUB5210 6126 MS$="DATA/INFORMATION --- [207][210] ---":V=11:GOSUB5210 6127 MS$="[210]EQUESTED FILE NOT AVAILABLE":V=12:GOSUB5210 6128 MS$="--- [207][210] --- NOT USED WITH THIS OPTION.":V=13:GOSUB5210:RETURN 6160 REM ***** INFO LINE DATA ***** 6165 MS$="^ = [200]ELP.":GOTO5207 6170 MS$="_ = [193]BORT.":GOTO5207 6175 MS$="OR [200][207][212] KEYS.":GOTO5207 6180 MS$="[210][197][212][213][210][206] = [193]BORT.":GOTO5207 6185 MS$="^ = [200][209] [196]ATA. _ = [193]BORT.":GOTO5207 6500 REM ***** BRANCHER ***** 6505 TL=V:BM$=MS$:K=LEN(CH$):BH$=CH$+KF$:QN$="A":GOTO6515 6510 TL=V:BM$=MS$:K=LEN(CH$):BH$=CH$:QN$="" 6515 V=TL:MS$=BM$:GOSUB5205:IFQN$="A"THENGOSUB6175 6516 A=1:POKE198,0:A%=0:QF=1:TI$="000000" 6517 A$="":GETA$:IFA$<>""THEN6520 6518 IFSP%(0)=0ORTIMID$(BH$,X,1)THENNEXT:GOTO6515 6522 F%=X:X=LEN(BH$):NEXT:IFF%3THENQF=4:GOTO7750 7715 GC%(0)=0:GOSUB5258:OPEN15,DV,15:OPEN3,DV,3,"L:"+DF$+",S,R" 7720 INPUT#3,A$,B$,C$,D$,E$,F$,G$,H$,I$,J$,K$,L$,M$:EV%(0)=VAL(A$) 7722 GL%(0)=VAL(B$):SE%(0)=VAL(C$):SD%(0)=VAL(D$) 7723 SP%(0)=VAL(E$):RT%(0)=VAL(F$):LO%(0)=VAL(G$) 7724 GC%(0)=VAL(H$):DS%(0)=VAL(I$):FU%(0)=VAL(J$) 7725 EL%(0)=VAL(K$):FC%(0)=VAL(L$):TS%(0)=VAL(M$) 7730 FORX=0TO48:INPUT#3,A$,B$,C$,D$:L1%(X)=VAL(A$) 7731 L2%(X)=VAL(B$):ST%(X)=VAL(C$):UB%(X)=VAL(D$):NEXT 7735 FORX=0TO2:INPUT#3,A$,B$:US%(X)=VAL(A$):WE%(X)=VAL(B$):NEXT 7740 INPUT#15,ER,A$,A,A:CLOSE3:CLOSE15:GOSUB5043:QF=1:IFER>20ANDER=63THEN7750 7745 IFQF=1ANDGC%(0)=0ANDTS%(0)=0THENRETURN 7750 QF=2:RETURN 7800 REM ***** SAVE GAME ***** 7805 DF$="HK."+NM$+RA$(RA%(0)):DR=DV:GOSUB5115 7806 IFPR=3THENGOSUB5740:ONQFGOTO7815,7855 7810 IFPR<>2THEN7860 7815 QF=1:GOSUB5258:OPEN15,DV,15:OPEN3,DV,3,"L:"+DF$+",S,W" 7820 PRINT#3,STR$(EV%(0)):PRINT#3,STR$(GL%(0)) 7821 PRINT#3,STR$(SE%(0)):PRINT#3,STR$(SD%(0)) 7825 PRINT#3,STR$(SP%(0)):PRINT#3,STR$(RT%(0)) 7826 PRINT#3,STR$(LO%(0)):PRINT#3,STR$(GC%(0)) 7830 PRINT#3,STR$(DS%(0)):PRINT#3,STR$(FU%(0)) 7831 PRINT#3,STR$(EL%(0)):PRINT#3,STR$(FC%(0)) 7835 PRINT#3,STR$(TS%(0)) 7836 FORX=0TO48:PRINT#3,STR$(L1%(X)) 7840 PRINT#3,STR$(L2%(X)):PRINT#3,STR$(ST%(X)):PRINT#3,STR$(UB%(X)):NEXT 7845 FORX=0TO2:PRINT#3,STR$(US%(X)):PRINT#3,STR$(WE%(X)):NEXT 7850 INPUT#15,ER,A$,A,A:CLOSE3:CLOSE15:GOSUB5043:IFER<20ORER=63THENRETURN 7855 MS$="[211]AVE ERROR. [210]ETRY?(Y/N)":CS=2:GOSUB5300:ONQFGOTO7805,7865 7860 MS$="[196]RIVE ERROR. [210]ETRY?(Y/N)":CS=2:GOSUB5300:IFQF=1THEN7805 7865 RETURN 10000 DV=PEEK(186):OPEN15,DV,15,"S:HK3 BRIDGE":CLOSE15:SAVE"HK3 BRIDGE",DV:END 20000 A%=RND(0)*12+1:PRINTA%